Generating schedules for employees is a complex problem for enterprises. Telephone call center scheduling is an example of a scheduling problem with a large number of variables. Variables include contact volume at a particular time of day, available staff, skills of various staff members, call type (e.g., new order call and customer service call), and number of call queues, where a queue may be assigned a particular call type. A basic goal of call center scheduling is to minimize the cost of operators, or agents, available to answer calls while maximizing service. Quality of service, or service level, can be quantified in various ways. One common metric for call service level is the percentage of incoming calls answered in a predetermined time, e.g. thirty seconds. The call center may receive calls of various types that are assigned to respective call queues.
Traditionally, call center scheduling is performed by first forecasting incoming contact volumes and estimating average talk times for each time period t (based on past history and other measures). The forecast is based upon historical data. Next, a closed-form formula known as reverse Erlang-C is used to compute full-time equivalent (FTE) agent requirement to provide a desired service level for each time period t. Such a method is described in Elementary Queuing Theory and Telephone Traffic, by Petr Beckmann, 1977, and in Lee's ABC of the Telephone Training Manuals, Geneva, Ill. After the FTE agent requirement are computed, the required number of agents is scheduled for each time period t.
At a call center, calls of different types are typically placed onto different queues by an Automatic Call Distributor (ACD). The calls wait at the ACD for an operator to answer them. The ACD is typically for handling telephone calls. Different types of calls are assigned to different call queues. Typically, not all agents have the same skills, and thus some agents can answer some calls while other agents cannot. Scheduling for varying agent skill sets is the skill-based scheduling problem. The skill-based scheduling problem is considerably more difficult than the basic call center scheduling problem because of all the interactions between queues. Typical approaches to solving the skill-based scheduling problem involve variations on an Erlang formula. The Erlang formulas are useful for computing staffing requirements for telephone contacts where the average contact volume is high, service level requirements are stringent, the task of answering a telephone call is not interruptible, and an agent can only answer one telephone call at a given time. Service level is expressed as a percentage of incoming calls that can be answered in within a maximum time limit. An example of stringent service levels is 80%-90% of incoming calls to be answered within 20-60 seconds.
In the past few years, however, call centers have evolved into “contact centers” in which the agent's contact with the customer can be through many contact media. For example, a multi-contact call center may handle telephone, email, web callback, web chat, fax, and voice over internet protocol (IP). Therefore, in addition to variation in the types of calls (e.g., service call, order call), modern contact centers have the complication of variation in contact media. The variation in contact media adds complexity to the agent scheduling process. For example, one of the ways in which contact media can vary markedly is in time allowed for response to the contact. Telephone calls are typically expected to be answered when they are received, or in “real-time”. If a caller does not receive a real-time answer in a fairly short time, the caller hangs up, abandoning the call. If a contact is by email or fax, on the other hand, the customer does not expect a real-time response. Therefore response times for various contact media vary from seconds to days.
Call centers have traditionally had to respond immediately to their telephone customers, and therefore the incoming telephone call queues are called on-line queues. In multi-contact call centers, however, an agent may be required to respond to incoming customer contacts from other queues, such as e-mail and faxed requests, in addition to responding to customer contacts from “immediate” queues, such as telephone calls and computer chats. Email and fax contact do not require immediate responses, but can be deferred. As with traditional telephone call centers, agents can only answer the types of calls for which they have the appropriate training and/or experience. Because all agents must be scheduled across immediate and deferred queues, in addition to all of the traditional scheduling constraints, the multi-contact scheduling problem is considerably complex.
Common techniques for scheduling staff in contact centers that have both immediate and deferred queues are inadequate. For example, in typical scheduling techniques, immediate queues are dealt with in terms of immediate performance measures such as average time to answer and service level. Deferred queues are considered only secondarily. Deferred queues are often simply scheduled into the day during lulls in on-line queue demand. No consideration is given to a projected or expected performance of deferred queues.
There are currently no known methods for effectively computing staffing requirements for e-mail, chat, Web callback, and other new media given certain service level requirements and contact arrival rates. Erlang formulas cannot be used because off-line contact media do not conform to Erlang's queuing theory models. Some of the aspects of deferred contacts that do not conform with Erlang models include the interruptibility of tasks, the fact that multiple contacts may be handled simultaneously, and the fact that service levels can be in hours or days, rather than seconds. This limits the effectiveness of the multi-contact center because there is no common performance measure for immediate and deferred queues, and thus no way to assess possible trade-offs between assigning agents to immediate queues versus deferred e queues. Another disadvantage of current scheduling methods that a call center manager cannot visualize queue performance in a type-independent manner and therefore must make adjustments to the schedule without the benefit of data to direct the adjustments.